package com.cirkana.viewer.data.route;

import java.util.ArrayList;
import java.util.List;

import com.cirkana.data.route.IRouteDetail;
import com.cirkana.data.route.IRouteDetailList;
import com.cirkana.serial.text.ITextSerializable;
import com.cirkana.serial.text.TextSerializationBuilder;

@SuppressWarnings("serial")
public class RouteDetailList extends ArrayList<IRouteDetail> implements IRouteDetailList, ITextSerializable {

	@Override
	public String toText() {
		TextSerializationBuilder t = new TextSerializationBuilder();
		t.append("list", (List<?>) this);
		return t.getTextSerialization();
	}

	// ArrayList<RouteDetail> routeDetails = new ArrayList<RouteDetail>();
	//
	// @Override
	// public boolean add(IRouteDetail routeDetail) {
	// return this.routeDetails.add((RouteDetail) routeDetail);
	// }
	//
	// @Override
	// public void add(int index, IRouteDetail routeDetail) {
	// this.routeDetails.add(index, (RouteDetail) routeDetail);
	// }
	//
	// @SuppressWarnings("unchecked")
	// @Override
	// public boolean addAll(Collection<? extends IRouteDetail> routeDetails) {
	// return this.routeDetails.addAll((Collection<RouteDetail>) routeDetails);
	// }
	//
	// @SuppressWarnings("unchecked")
	// @Override
	// public boolean addAll(int index, Collection<? extends IRouteDetail>
	// routeDetails) {
	// return this.routeDetails.addAll(index, (Collection<RouteDetail>)
	// routeDetails);
	// }
	//
	// @Override
	// public void clear() {
	// this.routeDetails.clear();
	// }
	//
	// @Override
	// public boolean contains(Object routeDetail) {
	// return this.routeDetails.contains(routeDetail);
	// }
	//
	// @Override
	// public boolean containsAll(Collection<?> routeDetails) {
	// return this.routeDetails.containsAll(routeDetails);
	// }
	//
	// @Override
	// public IRouteDetail get(int index) {
	// return this.routeDetails.get(index);
	// }
	//
	// @Override
	// public int indexOf(Object routeDetail) {
	// return this.routeDetails.indexOf(routeDetail);
	// }
	//
	// @Override
	// public boolean isEmpty() {
	// return this.routeDetails.isEmpty();
	// }
	//
	// private ArrayList<IRouteDetail> getInterfaceList() {
	// ArrayList<IRouteDetail> interfaceList = new ArrayList<IRouteDetail>();
	// for (RouteDetail routeDetail : this.routeDetails)
	// interfaceList.add(routeDetail);
	// return interfaceList;
	// }
	//
	// @Override
	// public Iterator<IRouteDetail> iterator() {
	// return getInterfaceList().iterator();
	// }
	//
	// @Override
	// public int lastIndexOf(Object routeDetail) {
	// return this.routeDetails.lastIndexOf(routeDetail);
	// }
	//
	// @Override
	// public ListIterator<IRouteDetail> listIterator() {
	// return getInterfaceList().listIterator();
	// }
	//
	// @Override
	// public ListIterator<IRouteDetail> listIterator(int index) {
	// return getInterfaceList().listIterator(index);
	// }
	//
	// @Override
	// public boolean remove(Object routeDetail) {
	// return this.routeDetails.remove(routeDetail);
	// }
	//
	// @Override
	// public IRouteDetail remove(int index) {
	// return this.routeDetails.remove(index);
	// }
	//
	// @Override
	// public boolean removeAll(Collection<?> routeDetails) {
	// return this.routeDetails.removeAll(routeDetails);
	// }
	//
	// @Override
	// public boolean retainAll(Collection<?> routeDetails) {
	// return this.routeDetails.retainAll(routeDetails);
	// }
	//
	// @Override
	// public IRouteDetail set(int index, IRouteDetail routeDetail) {
	// return this.routeDetails.set(index, (RouteDetail) routeDetail);
	// }
	//
	// @Override
	// public int size() {
	// return this.routeDetails.size();
	// }
	//
	// @Override
	// public List<IRouteDetail> subList(int fromIndex, int toIndex) {
	// return getInterfaceList().subList(fromIndex, toIndex);
	// }
	//
	// @Override
	// public Object[] toArray() {
	// return this.routeDetails.toArray();
	// }
	//
	// @Override
	// public <T> T[] toArray(T[] a) {
	// return this.routeDetails.toArray(a);
	// }
	//
	// @Override
	// public void serialize(DataOutputStream out) throws
	// BinarySerializationException {
	// BinarySerializationUtil.serializeSerializableList(this.routeDetails,
	// RouteDetail.class, out);
	// }
	//
	// @SuppressWarnings("unchecked")
	// @Override
	// public void deserialize(DataInputStream in) throws
	// BinarySerializationException {
	// this.routeDetails =
	// BinarySerializationUtil.deserializeSerializableList(RouteDetail.class,
	// in);
	// }
}
